#ifndef _XSERIALUSB_SRC_DEVICES_DEVICE_IDS_H_
#define _XSERIALUSB_SRC_DEVICES_DEVICE_IDS_H_

int IsCH34XDevice(int vid, int pid)
{
    if((vid == 0x4348 && pid == 0x5523) ||
            (vid == 0x1a86 && pid == 0x7523) ||
            (vid == 0x1a86 && pid == 0x5523) ||
            (vid == 0x1a86 && pid == 0x0445))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int IsCP210XDevice(int vid, int pid)
{
    if((vid == 0x045B && pid == 0x0053) ||
            (vid == 0x0471 && pid == 0x066A) ||
            (vid == 0x0489 && pid == 0xE000) ||
            (vid == 0x0489 && pid == 0xE003) ||
            (vid == 0x0745 && pid == 0x1000) ||
            (vid == 0x0846 && pid == 0x1100) ||
            (vid == 0x08e6 && pid == 0x5501) ||
            (vid == 0x08FD && pid == 0x000A) ||
            (vid == 0x0BED && pid == 0x1100) ||
            (vid == 0x0BED && pid == 0x1101) ||
            (vid == 0x0FCF && pid == 0x1003) ||
            (vid == 0x0FCF && pid == 0x1004) ||
            (vid == 0x0FCF && pid == 0x1006) ||
            (vid == 0x0FDE && pid == 0xCA05) ||
            (vid == 0x10A6 && pid == 0xAA26) ||
            (vid == 0x10AB && pid == 0x10C5) ||
            (vid == 0x10B5 && pid == 0xAC70) ||
            (vid == 0x10C4 && pid == 0x0F91) ||
            (vid == 0x10C4 && pid == 0x1101) ||
            (vid == 0x10C4 && pid == 0x1601) ||
            (vid == 0x10C4 && pid == 0x800A) ||
            (vid == 0x10C4 && pid == 0x803B) ||
            (vid == 0x10C4 && pid == 0x8044) ||
            (vid == 0x10C4 && pid == 0x804E) ||
            (vid == 0x10C4 && pid == 0x8053) ||
            (vid == 0x10C4 && pid == 0x8054) ||
            (vid == 0x10C4 && pid == 0x8066) ||
            (vid == 0x10C4 && pid == 0x806F) ||
            (vid == 0x10C4 && pid == 0x807A) ||
            (vid == 0x10C4 && pid == 0x80C4) ||
            (vid == 0x10C4 && pid == 0x80CA) ||
            (vid == 0x10C4 && pid == 0x80DD) ||
            (vid == 0x10C4 && pid == 0x80F6) ||
            (vid == 0x10C4 && pid == 0x8115) ||
            (vid == 0x10C4 && pid == 0x813D) ||
            (vid == 0x10C4 && pid == 0x813F) ||
            (vid == 0x10C4 && pid == 0x814A) ||
            (vid == 0x10C4 && pid == 0x814B) ||
            (vid == 0x2405 && pid == 0x0003) ||
            (vid == 0x10C4 && pid == 0x8156) ||
            (vid == 0x10C4 && pid == 0x815E) ||
            (vid == 0x10C4 && pid == 0x815F) ||
            (vid == 0x10C4 && pid == 0x818B) ||
            (vid == 0x10C4 && pid == 0x819F) ||
            (vid == 0x10C4 && pid == 0x81A6) ||
            (vid == 0x10C4 && pid == 0x81A9) ||
            (vid == 0x10C4 && pid == 0x81AC) ||
            (vid == 0x10C4 && pid == 0x81AD) ||
            (vid == 0x10C4 && pid == 0x81C8) ||
            (vid == 0x10C4 && pid == 0x81E2) ||
            (vid == 0x10C4 && pid == 0x81E7) ||
            (vid == 0x10C4 && pid == 0x81E8) ||
            (vid == 0x10C4 && pid == 0x81F2) ||
            (vid == 0x10C4 && pid == 0x8218) ||
            (vid == 0x10C4 && pid == 0x822B) ||
            (vid == 0x10C4 && pid == 0x826B) ||
            (vid == 0x10C4 && pid == 0x8281) ||
            (vid == 0x10C4 && pid == 0x8293) ||
            (vid == 0x10C4 && pid == 0x82F9) ||
            (vid == 0x10C4 && pid == 0x8341) ||
            (vid == 0x10C4 && pid == 0x8382) ||
            (vid == 0x10C4 && pid == 0x83A8) ||
            (vid == 0x10C4 && pid == 0x83D8) ||
            (vid == 0x10C4 && pid == 0x8411) ||
            (vid == 0x10C4 && pid == 0x8418) ||
            (vid == 0x10C4 && pid == 0x846E) ||
            (vid == 0x10C4 && pid == 0x8477) ||
            (vid == 0x10C4 && pid == 0x85EA) ||
            (vid == 0x10C4 && pid == 0x85EB) ||
            (vid == 0x10C4 && pid == 0x85F8) ||
            (vid == 0x10C4 && pid == 0x8664) ||
            (vid == 0x10C4 && pid == 0x8665) ||
            (vid == 0x10C4 && pid == 0x875C) ||
            (vid == 0x10C4 && pid == 0x88A4) ||
            (vid == 0x10C4 && pid == 0x88A5) ||
            (vid == 0x10C4 && pid == 0xEA60) ||
            (vid == 0x10C4 && pid == 0xEA61) ||
            (vid == 0x10C4 && pid == 0xEA63) ||
            (vid == 0x10C4 && pid == 0xEA70) ||
            (vid == 0x10C4 && pid == 0xEA71) ||
            (vid == 0x10C4 && pid == 0xEA7A) ||
            (vid == 0x10C4 && pid == 0xEA7B) ||
            (vid == 0x10C4 && pid == 0xEA80) ||
            (vid == 0x10C4 && pid == 0xF001) ||
            (vid == 0x10C4 && pid == 0xF002) ||
            (vid == 0x10C4 && pid == 0xF003) ||
            (vid == 0x10C4 && pid == 0xF004) ||
            (vid == 0x10C5 && pid == 0xEA61) ||
            (vid == 0x10CE && pid == 0xEA6A) ||
            (vid == 0x13AD && pid == 0x9999) ||
            (vid == 0x1555 && pid == 0x0004) ||
            (vid == 0x166A && pid == 0x0201) ||
            (vid == 0x166A && pid == 0x0301) ||
            (vid == 0x166A && pid == 0x0303) ||
            (vid == 0x166A && pid == 0x0304) ||
            (vid == 0x166A && pid == 0x0305) ||
            (vid == 0x166A && pid == 0x0401) ||
            (vid == 0x166A && pid == 0x0101) ||
            (vid == 0x16D6 && pid == 0x0001) ||
            (vid == 0x16DC && pid == 0x0010) ||
            (vid == 0x16DC && pid == 0x0011) ||
            (vid == 0x16DC && pid == 0x0012) ||
            (vid == 0x16DC && pid == 0x0015) ||
            (vid == 0x17A8 && pid == 0x0001) ||
            (vid == 0x17A8 && pid == 0x0005) ||
            (vid == 0x17F4 && pid == 0xAAAA) ||
            (vid == 0x1843 && pid == 0x0200) ||
            (vid == 0x18EF && pid == 0xE00F) ||
            (vid == 0x1ADB && pid == 0x0001) ||
            (vid == 0x1BE3 && pid == 0x07A6) ||
            (vid == 0x1E29 && pid == 0x0102) ||
            (vid == 0x1E29 && pid == 0x0501) ||
            (vid == 0x1FB9 && pid == 0x0100) ||
            (vid == 0x1FB9 && pid == 0x0200) ||
            (vid == 0x1FB9 && pid == 0x0201) ||
            (vid == 0x1FB9 && pid == 0x0202) ||
            (vid == 0x1FB9 && pid == 0x0203) ||
            (vid == 0x1FB9 && pid == 0x0300) ||
            (vid == 0x1FB9 && pid == 0x0301) ||
            (vid == 0x1FB9 && pid == 0x0302) ||
            (vid == 0x1FB9 && pid == 0x0303) ||
            (vid == 0x1FB9 && pid == 0x0400) ||
            (vid == 0x1FB9 && pid == 0x0401) ||
            (vid == 0x1FB9 && pid == 0x0402) ||
            (vid == 0x1FB9 && pid == 0x0403) ||
            (vid == 0x1FB9 && pid == 0x0404) ||
            (vid == 0x1FB9 && pid == 0x0600) ||
            (vid == 0x1FB9 && pid == 0x0601) ||
            (vid == 0x1FB9 && pid == 0x0602) ||
            (vid == 0x1FB9 && pid == 0x0700) ||
            (vid == 0x1FB9 && pid == 0x0701) ||
            (vid == 0x3195 && pid == 0xF190) ||
            (vid == 0x3195 && pid == 0xF280) ||
            (vid == 0x3195 && pid == 0xF281) ||
            (vid == 0x413C && pid == 0x9500) ||
            (vid == 0x1908 && pid == 0x2311))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int IsCP2130Device(int vid, int pid)
{
    if(vid == 0x10C4 && pid == 0x87a0)
    {
        return 1;
    }
    return 0;
}

int IsFTDIDevice(int vid, int pid)
{
    if((vid == 0x0403 && pid == 0x6001) ||
            (vid == 0x0403 && pid == 0x6006) ||
            (vid == 0x0403 && pid == 0x6010) ||
            (vid == 0x0403 && pid == 0x6011) ||
            (vid == 0x0403 && pid == 0x6014) ||
            (vid == 0x0403 && pid == 0x6015) ||
            (vid == 0x0403 && pid == 0x8372) ||
            (vid == 0x0403 && pid == 0xfbfa) ||
            (vid == 0x0403 && pid == 0x6002) ||
            (vid == 0x0403 && pid == 0x9e90) ||
            (vid == 0x0403 && pid == 0x9f80) ||
            (vid == 0x0403 && pid == 0xa6d0) ||
            (vid == 0x0403 && pid == 0xabb8) ||
            (vid == 0x0403 && pid == 0xabb9) ||
            (vid == 0x0403 && pid == 0xb810) ||
            (vid == 0x0403 && pid == 0xb811) ||
            (vid == 0x0403 && pid == 0xb812) ||
            (vid == 0x0403 && pid == 0xbaf8) ||
            (vid == 0x0403 && pid == 0xbcd8) ||
            (vid == 0x0403 && pid == 0xbcd9) ||
            (vid == 0x0403 && pid == 0xbcda) ||
            (vid == 0x0403 && pid == 0xbdc8) ||
            (vid == 0x0403 && pid == 0xbfd8) ||
            (vid == 0x0403 && pid == 0xbfd9) ||
            (vid == 0x0403 && pid == 0xbfda) ||
            (vid == 0x0403 && pid == 0xbfdb) ||
            (vid == 0x0403 && pid == 0xbfdc) ||
            (vid == 0x0403 && pid == 0xbfdd) ||
            (vid == 0x0403 && pid == 0xc1e0) ||
            (vid == 0x0403 && pid == 0xc7d0) ||
            (vid == 0x0403 && pid == 0xc850) ||
            (vid == 0x0403 && pid == 0xc991) ||
            (vid == 0x0403 && pid == 0xcaa0) ||
            (vid == 0x0403 && pid == 0xcc48) ||
            (vid == 0x0403 && pid == 0xcc49) ||
            (vid == 0x0403 && pid == 0xcc4a) ||
            (vid == 0x0403 && pid == 0xcff8) ||
            (vid == 0x0403 && pid == 0xd010) ||
            (vid == 0x0403 && pid == 0xd011) ||
            (vid == 0x0403 && pid == 0xd012) ||
            (vid == 0x0403 && pid == 0xd013) ||
            (vid == 0x0403 && pid == 0xd014) ||
            (vid == 0x0403 && pid == 0xd015) ||
            (vid == 0x0403 && pid == 0xd016) ||
            (vid == 0x0403 && pid == 0xd017) ||
            (vid == 0x0403 && pid == 0xd070) ||
            (vid == 0x0403 && pid == 0xd071) ||
            (vid == 0x0403 && pid == 0xd678) ||
            (vid == 0x0403 && pid == 0xd738) ||
            (vid == 0x0403 && pid == 0xd739) ||
            (vid == 0x0403 && pid == 0xd780) ||
            (vid == 0x0403 && pid == 0xf070) ||
            (vid == 0x0403 && pid == 0xd388) ||
            (vid == 0x0403 && pid == 0xd389) ||
            (vid == 0x0403 && pid == 0xd38a) ||
            (vid == 0x0403 && pid == 0xd38b) ||
            (vid == 0x0403 && pid == 0xd38c) ||
            (vid == 0x0403 && pid == 0xd38d) ||
            (vid == 0x0403 && pid == 0xd38e) ||
            (vid == 0x0403 && pid == 0xd38f) ||
            (vid == 0x0403 && pid == 0xd491) ||
            (vid == 0x0403 && pid == 0xda70) ||
            (vid == 0x0403 && pid == 0xda71) ||
            (vid == 0x0403 && pid == 0xda72) ||
            (vid == 0x0403 && pid == 0xda73) ||
            (vid == 0x0403 && pid == 0xda74) ||
            (vid == 0x0403 && pid == 0xdaf8) ||
            (vid == 0x0403 && pid == 0xdaf9) ||
            (vid == 0x0403 && pid == 0xdafa) ||
            (vid == 0x0403 && pid == 0xdafb) ||
            (vid == 0x0403 && pid == 0xdafc) ||
            (vid == 0x0403 && pid == 0xdafd) ||
            (vid == 0x0403 && pid == 0xdafe) ||
            (vid == 0x0403 && pid == 0xdaff) ||
            (vid == 0x0403 && pid == 0xdc00) ||
            (vid == 0x0403 && pid == 0xdc01) ||
            (vid == 0x0403 && pid == 0xdd20) ||
            (vid == 0x0403 && pid == 0xdf28) ||
            (vid == 0x0403 && pid == 0xdf30) ||
            (vid == 0x0403 && pid == 0xdf32) ||
            (vid == 0x0403 && pid == 0xdf31) ||
            (vid == 0x0403 && pid == 0xdf33) ||
            (vid == 0x0403 && pid == 0xdf35) ||
            (vid == 0x0403 && pid == 0xe050) ||
            (vid == 0x0403 && pid == 0xc006) ||
            (vid == 0x0403 && pid == 0xe000) ||
            (vid == 0x0403 && pid == 0xe001) ||
            (vid == 0x0403 && pid == 0xe002) ||
            (vid == 0x0403 && pid == 0xe004) ||
            (vid == 0x0403 && pid == 0xe006) ||
            (vid == 0x0403 && pid == 0xe008) ||
            (vid == 0x0403 && pid == 0xe009) ||
            (vid == 0x0403 && pid == 0xe00a) ||
            (vid == 0x0403 && pid == 0xe0e8) ||
            (vid == 0x0403 && pid == 0xe0e9) ||
            (vid == 0x0403 && pid == 0xe0ea) ||
            (vid == 0x0403 && pid == 0xe0eb) ||
            (vid == 0x0403 && pid == 0xe0ec) ||
            (vid == 0x0403 && pid == 0xe0ee) ||
            (vid == 0x0403 && pid == 0xe0ef) ||
            (vid == 0x0403 && pid == 0xe0f0) ||
            (vid == 0x0403 && pid == 0xe0f1) ||
            (vid == 0x0403 && pid == 0xe0f2) ||
            (vid == 0x0403 && pid == 0xe0f3) ||
            (vid == 0x0403 && pid == 0xe0f4) ||
            (vid == 0x0403 && pid == 0xe0f5) ||
            (vid == 0x0403 && pid == 0xe0f6) ||
            (vid == 0x0403 && pid == 0xe0f7) ||
            (vid == 0x0403 && pid == 0xe40b) ||
            (vid == 0x0403 && pid == 0xf068) ||
            (vid == 0x0403 && pid == 0xf069) ||
            (vid == 0x0403 && pid == 0xf06a) ||
            (vid == 0x0403 && pid == 0xf06b) ||
            (vid == 0x0403 && pid == 0xf06c) ||
            (vid == 0x0403 && pid == 0xf06d) ||
            (vid == 0x0403 && pid == 0xf06e) ||
            (vid == 0x0403 && pid == 0xf06f) ||
            (vid == 0x0403 && pid == 0xfb58) ||
            (vid == 0x0403 && pid == 0xfb5a) ||
            (vid == 0x0403 && pid == 0xfb5b) ||
            (vid == 0x0403 && pid == 0xfb59) ||
            (vid == 0x0403 && pid == 0xfb5c) ||
            (vid == 0x0403 && pid == 0xfb5d) ||
            (vid == 0x0403 && pid == 0xfb5e) ||
            (vid == 0x0403 && pid == 0xfb5f) ||
            (vid == 0x0403 && pid == 0xe520) ||
            (vid == 0x0403 && pid == 0xe548) ||
            (vid == 0x0403 && pid == 0xe6c8) ||
            (vid == 0x0403 && pid == 0xe700) ||
            (vid == 0x0403 && pid == 0xe808) ||
            (vid == 0x0403 && pid == 0xe809) ||
            (vid == 0x0403 && pid == 0xe80a) ||
            (vid == 0x0403 && pid == 0xe80b) ||
            (vid == 0x0403 && pid == 0xe80c) ||
            (vid == 0x0403 && pid == 0xe80d) ||
            (vid == 0x0403 && pid == 0xe80e) ||
            (vid == 0x0403 && pid == 0xe80f) ||
            (vid == 0x0403 && pid == 0xe888) ||
            (vid == 0x0403 && pid == 0xe889) ||
            (vid == 0x0403 && pid == 0xe88a) ||
            (vid == 0x0403 && pid == 0xe88b) ||
            (vid == 0x0403 && pid == 0xe88c) ||
            (vid == 0x0403 && pid == 0xe88d) ||
            (vid == 0x0403 && pid == 0xe88e) ||
            (vid == 0x0403 && pid == 0xe88f) ||
            (vid == 0x0403 && pid == 0xea90) ||
            (vid == 0x0403 && pid == 0xebe0) ||
            (vid == 0x0403 && pid == 0xec88) ||
            (vid == 0x0403 && pid == 0xec89) ||
            (vid == 0x0403 && pid == 0xed22) ||
            (vid == 0x0403 && pid == 0xed74) ||
            (vid == 0x0403 && pid == 0xed73) ||
            (vid == 0x0403 && pid == 0xed72) ||
            (vid == 0x0403 && pid == 0xed71) ||
            (vid == 0x0403 && pid == 0xee18) ||
            (vid == 0x0403 && pid == 0xeee8) ||
            (vid == 0x0403 && pid == 0xeee9) ||
            (vid == 0x0403 && pid == 0xeeea) ||
            (vid == 0x0403 && pid == 0xeeeb) ||
            (vid == 0x0403 && pid == 0xeeec) ||
            (vid == 0x0403 && pid == 0xeeed) ||
            (vid == 0x0403 && pid == 0xeeee) ||
            (vid == 0x0403 && pid == 0xeeef) ||
            (vid == 0x0403 && pid == 0xef50) ||
            (vid == 0x0403 && pid == 0xef51) ||
            (vid == 0x0403 && pid == 0xf0c0) ||
            (vid == 0x0403 && pid == 0xf0c8) ||
            (vid == 0x0403 && pid == 0xf0e9) ||
            (vid == 0x0403 && pid == 0xf0ee) ||
            (vid == 0x0403 && pid == 0xf208) ||
            (vid == 0x0403 && pid == 0xf2d0) ||
            (vid == 0x0403 && pid == 0xf3c0) ||
            (vid == 0x0403 && pid == 0xf3c1) ||
            (vid == 0x0403 && pid == 0xf3c2) ||
            (vid == 0x0403 && pid == 0xf448) ||
            (vid == 0x0403 && pid == 0xf449) ||
            (vid == 0x0403 && pid == 0xf44a) ||
            (vid == 0x0403 && pid == 0xf44b) ||
            (vid == 0x0403 && pid == 0xf44c) ||
            (vid == 0x0403 && pid == 0xf460) ||
            (vid == 0x0403 && pid == 0xf680) ||
            (vid == 0x0403 && pid == 0xf850) ||
            (vid == 0x0403 && pid == 0xf9d0) ||
            (vid == 0x0403 && pid == 0xf9d1) ||
            (vid == 0x0403 && pid == 0xf9d2) ||
            (vid == 0x0403 && pid == 0xf9d3) ||
            (vid == 0x0403 && pid == 0xf9d4) ||
            (vid == 0x0403 && pid == 0xf9d5) ||
            (vid == 0x0403 && pid == 0xfa00) ||
            (vid == 0x0403 && pid == 0xfa01) ||
            (vid == 0x0403 && pid == 0xfa02) ||
            (vid == 0x0403 && pid == 0xfa03) ||
            (vid == 0x0403 && pid == 0xfa04) ||
            (vid == 0x0403 && pid == 0xfa05) ||
            (vid == 0x0403 && pid == 0xfa06) ||
            (vid == 0x0403 && pid == 0xfa78) ||
            (vid == 0x0403 && pid == 0xfad0) ||
            (vid == 0x0403 && pid == 0xfaf0) ||
            (vid == 0x0403 && pid == 0xfc70) ||
            (vid == 0x0403 && pid == 0xfc71) ||
            (vid == 0x0403 && pid == 0xfc72) ||
            (vid == 0x0403 && pid == 0xfc73) ||
            (vid == 0x0403 && pid == 0xfc82) ||
            (vid == 0x0403 && pid == 0xfc8a) ||
            (vid == 0x0403 && pid == 0xfc8b) ||
            (vid == 0x0403 && pid == 0xfc60) ||
            (vid == 0x0403 && pid == 0xfd60) ||
            (vid == 0x0403 && pid == 0xff20) ||
            (vid == 0x0403 && pid == 0xf857) ||
            (vid == 0x0403 && pid == 0xfa10) ||
            (vid == 0x0403 && pid == 0xfa88) ||
            (vid == 0x0403 && pid == 0xfb99) ||
            (vid == 0x0403 && pid == 0xfc08) ||
            (vid == 0x0403 && pid == 0xfc09) ||
            (vid == 0x0403 && pid == 0xfc0a) ||
            (vid == 0x0403 && pid == 0xfc0b) ||
            (vid == 0x0403 && pid == 0xfc0c) ||
            (vid == 0x0403 && pid == 0xfc0d) ||
            (vid == 0x0403 && pid == 0xfc0e) ||
            (vid == 0x0403 && pid == 0xfc0f) ||
            (vid == 0x0403 && pid == 0xfe38) ||
            (vid == 0x0403 && pid == 0xff00) ||
            (vid == 0x0403 && pid == 0xff38) ||
            (vid == 0x0403 && pid == 0xff39) ||
            (vid == 0x0403 && pid == 0xff3a) ||
            (vid == 0x0403 && pid == 0xff3b) ||
            (vid == 0x0403 && pid == 0xff3c) ||
            (vid == 0x0403 && pid == 0xff3d) ||
            (vid == 0x0403 && pid == 0xff3e) ||
            (vid == 0x0403 && pid == 0xff3f) ||
            (vid == 0x0403 && pid == 0xffa8) ||
            (vid == 0x0403 && pid == 0xfa33) ||
            (vid == 0x0403 && pid == 0x8a98) ||
            (vid == 0x03eb && pid == 0x2109) ||
            (vid == 0x0456 && pid == 0xf000) ||
            (vid == 0x0456 && pid == 0xf001) ||
            (vid == 0x0584 && pid == 0xb020) ||
            (vid == 0x0647 && pid == 0x0100) ||
            (vid == 0x06CE && pid == 0x8311) ||
            (vid == 0x06D3 && pid == 0x0284) ||
            (vid == 0x0856 && pid == 0xac01) ||
            (vid == 0x0856 && pid == 0xac02) ||
            (vid == 0x0856 && pid == 0xac03) ||
            (vid == 0x0856 && pid == 0xac11) ||
            (vid == 0x0856 && pid == 0xac12) ||
            (vid == 0x0856 && pid == 0xac16) ||
            (vid == 0x0856 && pid == 0xac17) ||
            (vid == 0x0856 && pid == 0xac18) ||
            (vid == 0x0856 && pid == 0xac19) ||
            (vid == 0x0856 && pid == 0xac25) ||
            (vid == 0x0856 && pid == 0xac26) ||
            (vid == 0x0856 && pid == 0xac27) ||
            (vid == 0x0856 && pid == 0xac33) ||
            (vid == 0x0856 && pid == 0xac34) ||
            (vid == 0x0856 && pid == 0xac49) ||
            (vid == 0x0856 && pid == 0xac50) ||
            (vid == 0x0856 && pid == 0xba02) ||
            (vid == 0x093c && pid == 0x0601) ||
            (vid == 0x093c && pid == 0x0701) ||
            (vid == 0x0acd && pid == 0x0300) ||
            (vid == 0x0b39 && pid == 0x0103) ||
            (vid == 0x0b39 && pid == 0x0421) ||
            (vid == 0x0c26 && pid == 0x0004) ||
            (vid == 0x0c26 && pid == 0x0018) ||
            (vid == 0x0c26 && pid == 0x0009) ||
            (vid == 0x0c26 && pid == 0x000a) ||
            (vid == 0x0c26 && pid == 0x000b) ||
            (vid == 0x0c26 && pid == 0x000c) ||
            (vid == 0x0c26 && pid == 0x000d) ||
            (vid == 0x0c26 && pid == 0x0010) ||
            (vid == 0x0c26 && pid == 0x0011) ||
            (vid == 0x0c26 && pid == 0x0012) ||
            (vid == 0x0c26 && pid == 0x0013) ||
            (vid == 0x0c33 && pid == 0x0010) ||
            (vid == 0x0c52 && pid == 0x2101) ||
            (vid == 0x0c52 && pid == 0x2101) ||
            (vid == 0x0c52 && pid == 0x2102) ||
            (vid == 0x0c52 && pid == 0x2103) ||
            (vid == 0x0c52 && pid == 0x2104) ||
            (vid == 0x0c52 && pid == 0x9020) ||
            (vid == 0x0c52 && pid == 0x2211) ||
            (vid == 0x0c52 && pid == 0x2221) ||
            (vid == 0x0c52 && pid == 0x2212) ||
            (vid == 0x0c52 && pid == 0x2222) ||
            (vid == 0x0c52 && pid == 0x2213) ||
            (vid == 0x0c52 && pid == 0x2223) ||
            (vid == 0x0c52 && pid == 0x2411) ||
            (vid == 0x0c52 && pid == 0x2421) ||
            (vid == 0x0c52 && pid == 0x2431) ||
            (vid == 0x0c52 && pid == 0x2441) ||
            (vid == 0x0c52 && pid == 0x2412) ||
            (vid == 0x0c52 && pid == 0x2422) ||
            (vid == 0x0c52 && pid == 0x2432) ||
            (vid == 0x0c52 && pid == 0x2442) ||
            (vid == 0x0c52 && pid == 0x2413) ||
            (vid == 0x0c52 && pid == 0x2423) ||
            (vid == 0x0c52 && pid == 0x2433) ||
            (vid == 0x0c52 && pid == 0x2443) ||
            (vid == 0x0c52 && pid == 0x2811) ||
            (vid == 0x0c52 && pid == 0x2821) ||
            (vid == 0x0c52 && pid == 0x2831) ||
            (vid == 0x0c52 && pid == 0x2841) ||
            (vid == 0x0c52 && pid == 0x2851) ||
            (vid == 0x0c52 && pid == 0x2861) ||
            (vid == 0x0c52 && pid == 0x2871) ||
            (vid == 0x0c52 && pid == 0x2881) ||
            (vid == 0x0c52 && pid == 0x2812) ||
            (vid == 0x0c52 && pid == 0x2822) ||
            (vid == 0x0c52 && pid == 0x2832) ||
            (vid == 0x0c52 && pid == 0x2842) ||
            (vid == 0x0c52 && pid == 0x2852) ||
            (vid == 0x0c52 && pid == 0x2862) ||
            (vid == 0x0c52 && pid == 0x2872) ||
            (vid == 0x0c52 && pid == 0x2882) ||
            (vid == 0x0c52 && pid == 0x2813) ||
            (vid == 0x0c52 && pid == 0x2823) ||
            (vid == 0x0c52 && pid == 0x2833) ||
            (vid == 0x0c52 && pid == 0x2843) ||
            (vid == 0x0c52 && pid == 0x2853) ||
            (vid == 0x0c52 && pid == 0x2863) ||
            (vid == 0x0c52 && pid == 0x2873) ||
            (vid == 0x0c52 && pid == 0x2883) ||
            (vid == 0x0c52 && pid == 0xa02a) ||
            (vid == 0x0c52 && pid == 0xa02b) ||
            (vid == 0x0c52 && pid == 0xa02c) ||
            (vid == 0x0c52 && pid == 0xa02d) ||
            (vid == 0x0c6c && pid == 0x04b2) ||
            (vid == 0x0c7d && pid == 0x0005) ||
            (vid == 0x0d3a && pid == 0x0300) ||
            (vid == 0x0d46 && pid == 0x2020) ||
            (vid == 0x0d46 && pid == 0x2021) ||
            (vid == 0x0dcd && pid == 0x0001) ||
            (vid == 0x0f94 && pid == 0x0001) ||
            (vid == 0x0f94 && pid == 0x0005) ||
            (vid == 0x0fd8 && pid == 0x0001) ||
            (vid == 0x103e && pid == 0x03e8) ||
            (vid == 0x104d && pid == 0x3000) ||
            (vid == 0x104d && pid == 0x3002) ||
            (vid == 0x104d && pid == 0x3006) ||
            (vid == 0x1209 && pid == 0x1002) ||
            (vid == 0x1209 && pid == 0x1006) ||
            (vid == 0x128d && pid == 0x0001) ||
            (vid == 0x1342 && pid == 0x0202) ||
            (vid == 0x1457 && pid == 0x5118) ||
            (vid == 0x15ba && pid == 0x0003) ||
            (vid == 0x15ba && pid == 0x002b) ||
            (vid == 0x1781 && pid == 0x0c30) ||
            (vid == 0x2100 && pid == 0x9001) ||
            (vid == 0x2100 && pid == 0x9e50) ||
            (vid == 0x2100 && pid == 0x9e51) ||
            (vid == 0x2100 && pid == 0x9e52) ||
            (vid == 0x2100 && pid == 0x9e53) ||
            (vid == 0x2100 && pid == 0x9e54) ||
            (vid == 0x2100 && pid == 0x9e55) ||
            (vid == 0x2100 && pid == 0x9e56) ||
            (vid == 0x2100 && pid == 0x9e57) ||
            (vid == 0x2100 && pid == 0x9e58) ||
            (vid == 0x2100 && pid == 0x9e59) ||
            (vid == 0x2100 && pid == 0x9e5a) ||
            (vid == 0x2100 && pid == 0x9e5b) ||
            (vid == 0x2100 && pid == 0x9e5c) ||
            (vid == 0x2100 && pid == 0x9e5d) ||
            (vid == 0x2100 && pid == 0x9e5e) ||
            (vid == 0x2100 && pid == 0x9e5f) ||
            (vid == 0x2100 && pid == 0x9e60) ||
            (vid == 0x2100 && pid == 0x9e61) ||
            (vid == 0x2100 && pid == 0x9e62) ||
            (vid == 0x2100 && pid == 0x9e63) ||
            (vid == 0x2100 && pid == 0x9e64) ||
            (vid == 0x2100 && pid == 0x9e65) ||
            (vid == 0x2100 && pid == 0x9e65) ||
            (vid == 0x2100 && pid == 0x9e66) ||
            (vid == 0x2100 && pid == 0x9e67) ||
            (vid == 0x2100 && pid == 0x9e68) ||
            (vid == 0x2100 && pid == 0x9e69) ||
            (vid == 0x2100 && pid == 0x9e6a) ||
            (vid == 0x0403 && pid == 0xe0a0) ||
            (vid == 0x0403 && pid == 0xe0a1) ||
            (vid == 0x1a72 && pid == 0x1000) ||
            (vid == 0x1a72 && pid == 0x1001) ||
            (vid == 0x1a72 && pid == 0x1002) ||
            (vid == 0x1a72 && pid == 0x1005) ||
            (vid == 0x1a72 && pid == 0x1007) ||
            (vid == 0x1a72 && pid == 0x1008) ||
            (vid == 0x1a72 && pid == 0x1009) ||
            (vid == 0x1a72 && pid == 0x100d) ||
            (vid == 0x1a72 && pid == 0x100e) ||
            (vid == 0x1a72 && pid == 0x100f) ||
            (vid == 0x1a72 && pid == 0x1011) ||
            (vid == 0x1a72 && pid == 0x1012) ||
            (vid == 0x1a72 && pid == 0x1013) ||
            (vid == 0x1a72 && pid == 0x1014) ||
            (vid == 0x1a72 && pid == 0x1015) ||
            (vid == 0x1a72 && pid == 0x1016) ||
            (vid == 0x165c && pid == 0x0002) ||
            (vid == 0x1a79 && pid == 0x6001) ||
            (vid == 0x1b3d && pid == 0x0100) ||
            (vid == 0x1b3d && pid == 0x0101) ||
            (vid == 0x1b3d && pid == 0x0102) ||
            (vid == 0x1b3d && pid == 0x0103) ||
            (vid == 0x1b3d && pid == 0x0104) ||
            (vid == 0x1b3d && pid == 0x0105) ||
            (vid == 0x1b3d && pid == 0x0106) ||
            (vid == 0x1b3d && pid == 0x0107) ||
            (vid == 0x1b3d && pid == 0x0108) ||
            (vid == 0x1b3d && pid == 0x0109) ||
            (vid == 0x1b3d && pid == 0x010a) ||
            (vid == 0x1b3d && pid == 0x010b) ||
            (vid == 0x1b3d && pid == 0x010c) ||
            (vid == 0x1b3d && pid == 0x010d) ||
            (vid == 0x1b3d && pid == 0x010e) ||
            (vid == 0x1b3d && pid == 0x010f) ||
            (vid == 0x1b3d && pid == 0x0110) ||
            (vid == 0x1b3d && pid == 0x0111) ||
            (vid == 0x1b3d && pid == 0x0112) ||
            (vid == 0x1b3d && pid == 0x0113) ||
            (vid == 0x1b3d && pid == 0x0114) ||
            (vid == 0x1b3d && pid == 0x0115) ||
            (vid == 0x1b3d && pid == 0x0116) ||
            (vid == 0x1b3d && pid == 0x0117) ||
            (vid == 0x1b3d && pid == 0x0118) ||
            (vid == 0x1b3d && pid == 0x0119) ||
            (vid == 0x1b3d && pid == 0x011a) ||
            (vid == 0x1b3d && pid == 0x011b) ||
            (vid == 0x1b3d && pid == 0x011c) ||
            (vid == 0x1b3d && pid == 0x011d) ||
            (vid == 0x1b3d && pid == 0x011e) ||
            (vid == 0x1b3d && pid == 0x011f) ||
            (vid == 0x1b3d && pid == 0x0120) ||
            (vid == 0x1b3d && pid == 0x0121) ||
            (vid == 0x1b3d && pid == 0x0122) ||
            (vid == 0x1b3d && pid == 0x0123) ||
            (vid == 0x1b3d && pid == 0x0124) ||
            (vid == 0x1b3d && pid == 0x0125) ||
            (vid == 0x1b3d && pid == 0x0126) ||
            (vid == 0x1b3d && pid == 0x0127) ||
            (vid == 0x1b3d && pid == 0x0128) ||
            (vid == 0x1b3d && pid == 0x0129) ||
            (vid == 0x1b3d && pid == 0x012a) ||
            (vid == 0x1b3d && pid == 0x012b) ||
            (vid == 0x1b3d && pid == 0x012c) ||
            (vid == 0x1b3d && pid == 0x012e) ||
            (vid == 0x1b3d && pid == 0x012f) ||
            (vid == 0x1b3d && pid == 0x0130) ||
            (vid == 0x1b91 && pid == 0x0064) ||
            (vid == 0x1bc9 && pid == 0x6001) ||
            (vid == 0x1c0c && pid == 0x0102) ||
            (vid == 0x1cf1 && pid == 0x0001) ||
            (vid == 0x1cf1 && pid == 0x0041) ||
            (vid == 0x0483 && pid == 0x3746) ||
            (vid == 0x0483 && pid == 0x3747) ||
            (vid == 0x5050 && pid == 0x0100) ||
            (vid == 0x5050 && pid == 0x0101) ||
            (vid == 0x5050 && pid == 0x0102) ||
            (vid == 0x5050 && pid == 0x0103) ||
            (vid == 0x5050 && pid == 0x0104) ||
            (vid == 0x5050 && pid == 0x0105) ||
            (vid == 0x5050 && pid == 0x0106) ||
            (vid == 0x5050 && pid == 0x0107) ||
            (vid == 0x5050 && pid == 0x0300) ||
            (vid == 0x5050 && pid == 0x0301) ||
            (vid == 0x5050 && pid == 0x0400) ||
            (vid == 0x5050 && pid == 0x0500) ||
            (vid == 0x5050 && pid == 0x0700) ||
            (vid == 0x5050 && pid == 0x0800) ||
            (vid == 0x5050 && pid == 0x0900) ||
            (vid == 0x5050 && pid == 0x0a00) ||
            (vid == 0x5050 && pid == 0x0b00) ||
            (vid == 0x5050 && pid == 0x0c00) ||
            (vid == 0x5050 && pid == 0x0d00) ||
            (vid == 0x5050 && pid == 0x0e00) ||
            (vid == 0x5050 && pid == 0x0f00) ||
            (vid == 0x5050 && pid == 0x1000) ||
            (vid == 0x5050 && pid == 0x8000) ||
            (vid == 0x5050 && pid == 0x8001) ||
            (vid == 0x5050 && pid == 0x8002) ||
            (vid == 0x5050 && pid == 0x8003) ||
            (vid == 0x5050 && pid == 0x8004) ||
            (vid == 0x5050 && pid == 0x8005) ||
            (vid == 0x9e88 && pid == 0x9e8f) ||
            (vid == 0xdeee && pid == 0x0300) ||
            (vid == 0xdeee && pid == 0x02ff) ||
            (vid == 0xdeee && pid == 0x0302) ||
            (vid == 0xdeee && pid == 0x0303) ||
            (vid == 0x0403 && pid == 0x9378) ||
            (vid == 0x0403 && pid == 0x0379) ||
            (vid == 0x0403 && pid == 0x937a) ||
            (vid == 0x0403 && pid == 0x937c) ||
            (vid == 0x0403 && pid == 0x9868) ||
            (vid == 0x0403 && pid == 0xbca0) ||
            (vid == 0x0403 && pid == 0xbca1) ||
            (vid == 0x0403 && pid == 0xbca2) ||
            (vid == 0x0403 && pid == 0xbca4) ||
            (vid == 0x0403 && pid == 0xe729) ||
            (vid == 0x0403 && pid == 0xd578) ||
            (vid == 0x0403 && pid == 0xff18) ||
            (vid == 0x0403 && pid == 0xff1c) ||
            (vid == 0x0403 && pid == 0xff1d) ||
            (vid == 0x0403 && pid == 0x20b7) ||
            (vid == 0x0403 && pid == 0x0713) ||
            (vid == 0x0403 && pid == 0xf608) ||
            (vid == 0x0403 && pid == 0xf60b) ||
            (vid == 0x0403 && pid == 0xf7c0) ||
            (vid == 0x0403 && pid == 0x8a28) ||
            (vid == 0x0403 && pid == 0xa951) ||
            (vid == 0x0403 && pid == 0x8e08) ||
            (vid == 0x0403 && pid == 0x0011) ||
            (vid == 0x0403 && pid == 0x87d0) ||
            (vid == 0x05d1 && pid == 0x1001) ||
            (vid == 0x05d1 && pid == 0x1002) ||
            (vid == 0x05d1 && pid == 0x1003) ||
            (vid == 0x05d1 && pid == 0x1004) ||
            (vid == 0x05d1 && pid == 0x1011) ||
            (vid == 0x05d1 && pid == 0x1013) ||
            (vid == 0x05d1 && pid == 0x2001) ||
            (vid == 0x05d1 && pid == 0x2002) ||
            (vid == 0x05d1 && pid == 0x2003) ||
            (vid == 0x05d1 && pid == 0x2011) ||
            (vid == 0x05d1 && pid == 0x2012) ||
            (vid == 0x05d1 && pid == 0x2021) ||
            (vid == 0x05d1 && pid == 0x2022) ||
            (vid == 0x05d1 && pid == 0x2023) ||
            (vid == 0x05d1 && pid == 0x2024) ||
            (vid == 0x05d1 && pid == 0x3011) ||
            (vid == 0x05d1 && pid == 0x3012) ||
            (vid == 0x05d1 && pid == 0x5001) ||
            (vid == 0x05d1 && pid == 0x6001) ||
            (vid == 0x05d1 && pid == 0x7001) ||
            (vid == 0x05d1 && pid == 0x8001) ||
            (vid == 0x05d1 && pid == 0x8002) ||
            (vid == 0x05d1 && pid == 0x8003) ||
            (vid == 0x05d1 && pid == 0x8004) ||
            (vid == 0x05d1 && pid == 0x9001) ||
            (vid == 0x05d1 && pid == 0x9002) ||
            (vid == 0x05d1 && pid == 0x9003) ||
            (vid == 0x05d1 && pid == 0x9004) ||
            (vid == 0x05d1 && pid == 0x9005) ||
            (vid == 0x05d1 && pid == 0x9006) ||
            (vid == 0x05d1 && pid == 0x9007) ||
            (vid == 0x05d1 && pid == 0x9008) ||
            (vid == 0x0403 && pid == 0x0))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int IsPL2303Device(int vid, int pid)
{
    if((vid == 0x04a5 && pid == 0x4027) ||
            (vid == 0x067b && pid == 0x2303) ||
            (vid == 0x067b && pid == 0x04bb) ||
            (vid == 0x067b && pid == 0x1234) ||
            (vid == 0x067b && pid == 0xaaa0) ||
            (vid == 0x067b && pid == 0xaaa2) ||
            (vid == 0x067b && pid == 0x0611) ||
            (vid == 0x067b && pid == 0x0612) ||
            (vid == 0x067b && pid == 0x0609) ||
            (vid == 0x067b && pid == 0x331a) ||
            (vid == 0x067b && pid == 0x0307) ||
            (vid == 0x067b && pid == 0x0463) ||
            (vid == 0x0557 && pid == 0x2008) ||
            (vid == 0x0547 && pid == 0x2008) ||
            (vid == 0x04bb && pid == 0x0a03) ||
            (vid == 0x04bb && pid == 0x0a0e) ||
            (vid == 0x056e && pid == 0x5003) ||
            (vid == 0x056e && pid == 0x5004) ||
            (vid == 0x0eba && pid == 0x1080) ||
            (vid == 0x0eba && pid == 0x2080) ||
            (vid == 0x0df7 && pid == 0x0620) ||
            (vid == 0x0584 && pid == 0xb000) ||
            (vid == 0x2478 && pid == 0x2008) ||
            (vid == 0x1453 && pid == 0x4026) ||
            (vid == 0x0731 && pid == 0x0528) ||
            (vid == 0x6189 && pid == 0x2068) ||
            (vid == 0x11f7 && pid == 0x02df) ||
            (vid == 0x04e8 && pid == 0x8001) ||
            (vid == 0x11f5 && pid == 0x0001) ||
            (vid == 0x11f5 && pid == 0x0003) ||
            (vid == 0x11f5 && pid == 0x0004) ||
            (vid == 0x11f5 && pid == 0x0005) ||
            (vid == 0x0745 && pid == 0x0001) ||
            (vid == 0x078b && pid == 0x1234) ||
            (vid == 0x10b5 && pid == 0xac70) ||
            (vid == 0x079b && pid == 0x0027) ||
            (vid == 0x0413 && pid == 0x2101) ||
            (vid == 0x0e55 && pid == 0x110b) ||
            (vid == 0x0731 && pid == 0x2003) ||
            (vid == 0x050d && pid == 0x0257) ||
            (vid == 0x058f && pid == 0x9720) ||
            (vid == 0x11f6 && pid == 0x2001) ||
            (vid == 0x07aa && pid == 0x002a) ||
            (vid == 0x05ad && pid == 0x0fba) ||
            (vid == 0x5372 && pid == 0x2303) ||
            (vid == 0x03f0 && pid == 0x0b39) ||
            (vid == 0x03f0 && pid == 0x3139) ||
            (vid == 0x03f0 && pid == 0x3239) ||
            (vid == 0x03f0 && pid == 0x3524) ||
            (vid == 0x04b8 && pid == 0x0521) ||
            (vid == 0x04b8 && pid == 0x0522) ||
            (vid == 0x054c && pid == 0x0437) ||
            (vid == 0x11ad && pid == 0x0001) ||
            (vid == 0x0b63 && pid == 0x6530) ||
            (vid == 0x0b8c && pid == 0x2303) ||
            (vid == 0x110a && pid == 0x1150) ||
            (vid == 0x0557 && pid == 0x2008))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int IsCDCDevice(int vid, int pid)
{
    if((vid == 0x264D && pid == 0x0232) ||
            (vid == 0x264D && pid == 0x0120) ||
            (vid == 0x0483 && pid == 0x5740))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}


#endif
